Software based single agent multipoint conference capability

ABSTRACT

A method and apparatus are provided for providing a three-party connection among a first, second and third call participant during a voice-over-Internet-Protocol (VoIP) telephone call. The method includes the steps of providing a respective first and second port within a transceiving terminal for receiving VoIP voice information of the VoIP telephone call from the first and second call participants, mixing the VoIP information from the ports of the first and second call participants and transferring the mixed VoIP information to the third call participant.

FIELD OF THE INVENTION

[0001] The field of the invention relates to telephony and more particularly to VoIP telephony.

BACKGROUND OF THE INVENTION

[0002] Voice over Internet Protocol (VoIP) telephony is a rapidly growing alternative to switched circuit telephony. Typically, a user purchases a VoIP software package and installs it on his personal computer (PC). To initiate a voice exchange with another party, the user enters an IP address of the other party and, if the other party has a similar software package, an exchange of voice information occurs.

[0003] Audio information is sampled by the VoIP package once every 10-30 ms. The samples are encoded into an IP packet containing an IP address of the other party. The packet is transferred over a connection to the Internet, and, ultimately, to a PC of the other party.

[0004] Within the PC of the other party, the sample is recovered and converted back into an analog signal. The analog signal is applied to a set of earphones or speaker and the other party hears the voice of the user. Voice information of the other party is transferred back to the original user under a similar process.

[0005] While VoIP telephony works relatively well, its functionality has been limited to point-to-point applications. Accordingly, a need exists for more flexible methods of using VoIP telephony.

SUMMARY

[0006] A method and apparatus are provided for providing a three-party connection among a first, second and third call participant during a voice-over-Internet-Protocol (VoIP) telephone call. The method includes the steps of providing a respective first and second port within a transceiving terminal for receiving VoIP voice information of the VoIP telephone call from the first and second call participants, mixing the VoIP information from the ports of the first and second call participants and transferring the mixed VoIP information to the third call participant.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a block diagram of a system for providing a software based single agent multipoint conference capability in accordance with an illustrated embodiment of the invention;

[0008]FIG. 2 is a block diagram showing details of the personal computer of FIG. 1;

[0009]FIG. 3 is a block diagram showing further details of the personal computer of FIG. 1; and

[0010]FIG. 4 depicts a generalized block diagram of the personal computer of FIG. 1.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

[0011]FIG. 1 is a block diagram of a VoIP conferencing system 10, shown generally under an illustrated embodiment of the invention and in a context of use. As shown, a PC 18 (offering a conferencing functionality) may be connected between callers 12, 14 (participants) connected through the Internet 16 and a number of other participants (e.g., agents 20, 22, interactive voice response (IVR) unit 24 or an audio recorder 26). Participants may also include callers 28, 30 connected to a VoIP conference call at least partially through switched circuit connections established through the public switched telephone network 34.

[0012]FIG. 2 depicts structure within the PC 18 which may be used to process VoIP information between a caller 12, 14 and an agent 20, 22. For purposes of explanation, an Internet protocol stack (PS) 40 and enterprise PS 42 may be understood to delineate the boundaries of those VoIP processes which occur within the CPU 36 and those processes which occur outside the CPU 36. It should be understood that the PSs 40, 42 may be part of a single PS.

[0013]FIG. 2 shows a pair of network interface cards 44, 64 used to interface the CPU 36 with external devices. While NICs 44 and 64 are shown as separate devices, it should be understood that under certain conditions (e.g., the agent telephone 46 is a LAN phone) then NICs 44 and 64 may be substantially identical.

[0014] As shown, the Internet PS 40 includes a number of predetermined logical ports 48, 50 that may be used to provide a two-way connection with the caller 12, 14 through the Internet 16. One logical port 48 is provided for caller input (information from the agent 20, 22 to the caller 12, 14). A second logical port 50 is provided for caller output (information from the caller 12, 14 to the agent 20, 22).

[0015] The enterprise PS 42 within the PC 18 also provides a number of predetermined ports 56, 58, 60, 62 for interfacing agents 20, 22 with the VoIP processes occurring within the CPU 36. Other ports 68, 70 of the enterprise PS 42 may be used to interface an interactive voice response (IVR) unit 78 to a call. An output port 72 may be used to provide information to a recording device 80. A further set of ports 74, 76 may be used to interface conference calls from the PSTN 34.

[0016] In the case of the agents 20, 22, a first set of ports 56, 60 may allow the VoIP conferencing software 35 (hereinafter “the software” or “the VoIP software”) to receive voice information from the agents 20, 22. A second set of ports 58, 62 may be used to transfer voice information from the VoIP process to the agents 20, 22.

[0017] To set up a call, an agent 20, 22 may enter an IP address of a called party 12, 14 through a keypad or keyboard 66. The software within the CPU 36 may accept the IP address and transmit a set-up request to the called party. The CPU 36 under control of the VoIP conference software may also begin setting up the VoIP structures of FIG. 2. To facilitate the flow of voice information, the CPU 36 may form a first connection 54 for outbound information (from the agent to the called party) and a second connection 52 for inbound information (voice information from the called party to the agent).

[0018] Turning first to the agent side of the VoIP connection, information exchanged with the agent 20, 22 through the NIC 44 may be exchanged under a pulse code modulation (PCM) format. The CPU 36, may cause the PCM information transceived through the NIC 44 to be reformatted into a real time protocol (RTP) format for use by the enterprise PS 42. Any appropriate RTP format (e.g., G.711, G.723, G.729, etc.) may be used.

[0019] Similarly, the CPU 36 may reformat the RTP information exchanged between the Internet PS 40 and the Internet 16. More specifically, the CPU 36 and NIC 64 may convert the RTP data of the protocol stack 40 into an appropriate communication protocol (e.g., H.323) used for communicating through the Internet 16.

[0020] Based upon the address entered through the key pad 66, the CPU 36 may exchange the VoIP voice information between the agent's enterprise ports 56, 58 and the Internet ports 48, 50. Based upon the transfers, the agent 20, 22 may converse with a called party 12, 14 using VoIP telephony.

[0021] Upon occasion, the first agent (A1) may choose to conference in a second agent (A2). To conference in the second agent A2, the CPU 36 forms a number of software mixers 82, 84, 86 (FIG. 3) for processing voice information. The mixers 82, 84, 86 may operate under a simple algorithm (e.g., (A+B)/2) intended to mix the PCM data of two callers (i.e., A and B).

[0022] As shown in FIG. 3, incoming RTD data (i.e., caller output) received at a port 50 from a caller 12, 14 is mixed in a first mixer 82 with incoming RTD data (i.e., agent output) from an incoming port 62 of the second agent A2. The output of the mixer 82 is provided as output RTD data to incoming port 56 of the first agent A1.

[0023] Similarly, incoming RTD data received at port 50 from a caller 12, 14 is mixed in a second mixer 86 with incoming RTD data from incoming port 58 of the first agent A1. The output of the second mixer is provided as output RTD data to incoming port 60 of the second agent A2.

[0024] Finally, incoming RTD data received at a port 58 from a first agent A1 is mixed in a third mixer 84 with incoming RTD data from an output port 62 of the second agent A2. The output of the third mixer 84 is provided as output RTD data to incoming port 48 of the caller 12, 14.

[0025]FIG. 4 depicts another illustrated embodiment where conferencing may be extended to other resources. As shown in FIG. 4 mixing may be performed of voice information from any of a number of sources. For example, tones and announcements may be played from an IVR 78 that may be heard only by the agent.

[0026] For example, the CPU 36 may receive a message requesting set-up of a VoIP telephony connection from a caller 12, 14. Based upon the source IP address of the message, the CPU 36 may be able to retrieve information about the call originator 12, 14 from memory 38. Based upon the identity of the call originator 12, 14, the CPU 36 may select one or more messages from the IVR 78 to be played for the benefit of the agent 20, 22. Upon selecting the messages, the CPU 36 may activate message playback through the IVR 78 at the same time that the packet-based voice-path is set up through mixers 90, 92 and 98. Since the message is mixed in mixer 92 in the inbound voice path to the agent, the caller does not hear the message.

[0027] Alternatively, the agent 20, 22 may choose to record the call. Recording may be necessary in the case of threatening or harassing calls. To record the call, the agent 20, 22 may enter a RECORD instruction through a keypad 66. In response, the CPU 36 may activate a recorder 80. The CPU 36 may also activate mixer 96. The mixer 96 mixes agent outgoing voice information with caller incoming voice information. The combined voice information is sent to the recorder 80 and recorded.

[0028] In another illustrated embodiment, the agent may add a conference input to the call. The conference input may be derived from a set of PSTN ports 74, 76 connected to the PSTN 34 through a NIC 81. The agent 20, 22 may select a conference target by entry of a telephone number of a conference target 28, 30 through the keypad 66. The CPU 36 may outdial the entered telephone number of the conference target 28, 30. When the target 28, 30 answers, the CPU 36 may activate conference mixers 90, 94, 98 to conference in the conference target.

[0029] Incoming voice information from the conference target 28, 30 may be mixed with voice information from the caller 12, 14 in a first mixer 90 and transferred to the agent through an incoming agent port 56. Similarly, incoming voice information from the conference target 28, 30 may be mixed with voice information from the agent 20, 22 in a second mixer 98 and transferred to the caller 12, 14 through an outgoing caller port 50. Voice information of both the agent 20, 22 and caller 12, 14 may be mixed in a third mixer 94 and transferred to an outgoing port 76 of the conference target 28, 20.

[0030] A specific embodiment of a method and apparatus for creating VoIP conference calls according to the present invention has been described for the purpose of illustrating the manner in which the invention is made and used. It should be understood that the implementation of other variations and modifications of the invention and its various aspects will be apparent to one skilled in the art, and that the invention is not limited by the specific embodiments described. Therefore, it is contemplated to cover the present invention and any and all modifications, variations, or equivalents that fall within the true spirit and scope of the basic underlying principles disclosed and claimed herein. 

1. A method of providing a three-party connection among a first, second and third call participant during a voice-over-Internet-Protocol (VoIP) telephone call, such method comprising: providing a respective first and second port within a transceiving terminal for receiving VoIP voice information of the VoIP telephone call from the first and second call participants; mixing the VoIP information from the ports of the first and second call participants; and transferring the mixed VoIP information to the third call participant.
 2. The method of providing a three-party connection as in claim 1 wherein the step of mixing further comprises adding a digital representation of the VoIP information from the first and second participants and dividing by two.
 3. The method of providing a three-party connection as in claim 1 further comprising providing a third port for the third participant and transferring the mixed VoIP information to the third port.
 4. The method of providing a three-party connection as in claim 1 wherein the step of providing a port for the first and second participant further comprises using predetermined locations in a respective first and second protocol stacks.
 5. The method of providing a three-party connection as in claim 1 further comprising coupling a port of the first and second ports to an Internet connection.
 6. The method of providing a three-party connection as in claim 1 further comprising mixing VoIP information from the second and third participant in a second mixer.
 7. The method of providing a three-party connection as in claim 6 further comprising transferring the mixed VoIP information from the second and third participant to the first participant.
 8. The method of providing a three-party connection as in claim 1 further comprising mixing VoIP information from the first and third participant in a third mixer.
 9. The method of providing a three-party connection as in claim 8 further comprising transferring the mixed VoIP information from the first and third participant to the second participant.
 10. The method of providing a three-party connection as in claim 1 further comprising defining the second participant as a prerecorded announcement played for the benefit of the third participant.
 11. The method of providing a three-party connection as in claim 1 further comprising defining the third participant as a recorder for recording a voice signal of the first and second participants.
 12. An apparatus for providing a three-party connection among a first, second and third call participant during a voice-over-Internet-Protocol (VoIP) telephone call, such apparatus comprising: means for providing a respective first and second port within a transceiving terminal for receiving VoIP voice information of the VoIP telephone call from the first and second call participants; means for mixing the VoIP information from the ports of the first and second call participants; and means for transferring the mixed VoIP information to the third call participant.
 13. The apparatus for providing a three-party connection as in claim 12 wherein the means for mixing further comprises means for adding a digital representation of the VoIP information from the first and second participants and dividing by two.
 14. The apparatus for providing a three-party connection as in claim 12 further comprising means for providing a third port for the third participant and transferring the mixed VoIP information to the third port.
 15. The apparatus for providing a three-party connection as in claim 12 wherein the means for providing a port for the first and second participant further comprises means for using predetermined locations in a respective first and second protocol stacks.
 16. The apparatus for providing a three-party connection as in claim 12 further comprising means for coupling a port of the first and second ports to an Internet connection.
 17. The apparatus for providing a three-party connection as in claim 12 further comprising means for mixing VoIP information from the second and third participant in a second mixer.
 18. The apparatus for providing a three-party connection as in claim 17 further comprising means for transferring the mixed VoIP information from the second and third participant to the first participant.
 19. The apparatus for providing a three-party connection as in claim 12 further comprising means for mixing VoIP information from the first and third participant in a third mixer.
 20. The apparatus for providing a three-party connection as in claim 19 further comprising means for transferring the mixed VoIP information from the first and third participant to the second participant.
 21. The apparatus for providing a three-party connection as in claim 12 further comprising means for defining the second participant as a prerecorded announcement played for the benefit of the third participant.
 22. The apparatus for providing a three-party connection as in claim 12 further comprising means for defining the third participant as a recorder for recording a voice signal of the first and second participants.
 23. An apparatus for providing a three-party connection among a first, second and third call participant during a voice-over-Internet-Protocol (VoIP) telephone call, such apparatus comprising: a respective first and second port within a transceiving terminal for receiving VoIP voice information of the VoIP telephone call from the first and second call participants; a mixer adapted to mix the VoIP information from the ports of the first and second call participant; and a communication processor adapted to transfer the mixed VoIP information to the third call participant.
 24. The apparatus for providing a three-party connection as in claim 23 wherein mixer further comprises an arithmetic processor adapted to add a digital representation of the VoIP information from the first and second participants and dividing by two.
 25. The apparatus for providing a three-party connection as in claim 23 further comprising a third port for the third participant.
 26. The apparatus for providing a three-party connection as in claim 23 wherein the first and second ports for the first and second participant further comprises a respective first and second protocol stack.
 27. The apparatus for providing a three-party connection as in claim 12 further comprising an Internet connection coupled to the first and second ports.
 28. The apparatus for providing a three-party connection as in claim 23 further comprising a second mixer adapted to mix VoIP information from the second and third participant.
 29. The apparatus for providing a three-party connection as in claim 23 further comprising a third mixer adapted to mix VoIP information from the first and third participant.
 30. The apparatus for providing a three-party connection as in claim 23 wherein the second participant further comprises an audio playback device adapted to play a prerecorded announcement for the benefit of the third participant.
 31. The apparatus for providing a three-party connection as in claim 23 wherein the third participant further comprises a recorder adapted to record a voice signal of the first and second participants. 